package com.dragon.mmochat.model.object;

import java.util.List;

import com.dragon.mmochat.model.enumType.MmochatEquipQualityType;
import com.dragon.mmochat.model.enumType.MmochatEquipSexType;
import com.dragon.mmochat.model.enumType.MmochatEquipType;
import com.dragon.mmochat.model.enumType.MmochatEquipVersion;
import com.dragon.mmochat.model.enumType.MmochatObjectType;
import com.dragon.mmochat.service.MmochatEquipService;

public class MmochatEquip extends MmochatCommonObject implements
		Comparable<MmochatEquip> {
	private static final long serialVersionUID = 2942896008078470638L;

	public MmochatEquip() {
		super();
		objectType = MmochatObjectType.装备;
		equipVersion = MmochatEquipVersion.V20111108;
		canOverlap = false;
	}

	public MmochatEquip(boolean isPlayerEquip) {
		if (isPlayerEquip) {
			objectId = serial.addAndGetSerialId();
		} else {
			objectId = -1;
		}
		objectType = MmochatObjectType.装备;
		equipVersion = MmochatEquipVersion.V20111108;
		canOverlap = false;
	}

	public MmochatEquipQualityType getQuality() {
		return equipQuality;
	}

	public void setQuality(MmochatEquipQualityType quality) {
		this.equipQuality = quality;
	}

	public int getLevelNeed() {
		return equipLevelNeed;
	}

	public void setLevelNeed(int levelNeed) {
		this.equipLevelNeed = levelNeed;
	}

	public MmochatEquipSexType getSexNeed() {
		return equipSexNeed;
	}

	public void setSexNeed(MmochatEquipSexType sexNeed) {
		this.equipSexNeed = sexNeed;
	}

	public MmochatEquipType getEquipType() {
		return equipType;
	}

	public void setEquipType(MmochatEquipType equipType) {
		this.equipType = equipType;
	}

	public void setName(String name) {
		this.equipName = name;
	}

	public int getModifyLevel() {
		return equipModifyLevel;
	}

	public List<MmochatEquipAttribute> getBaseAttr() {
		return equipBaseAttr;
	}

	public void setBaseAttr(List<MmochatEquipAttribute> baseAttr) {
		this.equipBaseAttr = baseAttr;
	}

	public void addBaseAttr(MmochatEquipAttribute attr) {
		if (attr != null) {
			equipBaseAttr.add(attr);
		}
	}

	public List<MmochatEquipAttribute> getRandAttr() {
		return equipRandAttr;
	}

	public void setRandAttr(List<MmochatEquipAttribute> randAttr) {
		this.equipRandAttr = randAttr;
	}

	public void addRandAttr(MmochatEquipAttribute attr) {
		if (attr != null) {
			equipRandAttr.add(attr);
		}
	}

	@Override
	public int compareTo(MmochatEquip other) {
		return other.getLevelNeed() - equipLevelNeed;
	}

}
